package com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.controller;

import com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadaudit.wsdcertificatedownloadaudit.model.WsdCertificateDownloadAudit;
import com.jxdinfo.hussar.support.mp.base.controller.HussarBaseController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.jxdinfo.hussar.support.audit.core.annotations.AuditLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.jxdinfo.hussar.support.audit.core.enums.AuditEventGrade;
import com.jxdinfo.hussar.support.audit.core.enums.AuditEventType;
import org.springframework.web.bind.annotation.RequestBody;
import com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.model.WsdCertiDownloadStatistics;
import org.springframework.web.bind.annotation.PostMapping;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.dto.WsdCertiDownloadStatisticsSelectCondition;
import com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.service.WsdCertiDownloadStatisticsService;
import com.jxdinfo.hussar.example.outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.vo.WsdCertiDownloadStatisticsPageVO;
import com.jxdinfo.hussar.platform.core.base.apiresult.ApiResponse;

/**
 * 证书下载统计表控制器
 */
@RestController(value = "outsourcereportandcertimanage.certificatedownloadstatistics.wsdcertidownloadstatistics.WsdCertiDownloadStatisticsController")
@AuditLog(moduleName = "证书下载统计表")
@RequestMapping(value = "/outsourceReportAndCertiManage/certificateDownloadStatistics/wsdCertiDownloadStatistics")
public class WsdCertiDownloadStatisticsController extends HussarBaseController<WsdCertiDownloadStatistics, WsdCertiDownloadStatisticsService> {

    private static final Logger logger = LoggerFactory.getLogger(WsdCertiDownloadStatisticsController.class);

    @Autowired
    private WsdCertiDownloadStatisticsService wsdCertiDownloadStatisticsService;

    /**
     * 证书下载统计表表格自定义查询（带分页）
     *
     * @return 查询结果
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "表格自定义查询", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.QUERY)
    @PostMapping("ConditionFilterPage")
    public ApiResponse<WsdCertiDownloadStatisticsPageVO> ConditionFilterPage(@RequestBody WsdCertiDownloadStatisticsSelectCondition wsdCertiDownloadStatisticsSelectCondition) {
        return wsdCertiDownloadStatisticsService.ConditionFilterPage(wsdCertiDownloadStatisticsSelectCondition);
    }

    /**
     * 证书下载统计表表格自定义查询（带分页）
     *
     * @return 查询结果
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "表格自定义查询", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.QUERY)
    @PostMapping("ConditionFilterPage_order_custom")
    public ApiResponse<WsdCertiDownloadStatisticsPageVO> ConditionFilterPage_order_custom(@RequestBody WsdCertiDownloadStatisticsSelectCondition wsdCertiDownloadStatisticsSelectCondition) {
        return wsdCertiDownloadStatisticsService.ConditionFilterPage_order_custom(wsdCertiDownloadStatisticsSelectCondition);
    }

    /**
     * 证书下载统计表表格自定义查询（带分页）
     *
     * @return 查询结果
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "表格自定义查询", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.QUERY)
    @PostMapping("ConditionFilterwsdCertiDownloadStatisticsSort_1Page")
    public ApiResponse<WsdCertiDownloadStatisticsPageVO> ConditionFilterwsdCertiDownloadStatisticsSort_1Page(@RequestBody WsdCertiDownloadStatisticsSelectCondition wsdCertiDownloadStatisticsSelectCondition) {
        return wsdCertiDownloadStatisticsService.ConditionFilterwsdCertiDownloadStatisticsSort_1Page(wsdCertiDownloadStatisticsSelectCondition);
    }

    /**
     * 证书下载统计表表格自定义查询（带分页）
     *
     * @return 查询结果
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "表格自定义查询", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.QUERY)
    @PostMapping("ConditionFilterwsdCertiDownloadStatisticsSort_1Page_order_custom")
    public ApiResponse<WsdCertiDownloadStatisticsPageVO> ConditionFilterwsdCertiDownloadStatisticsSort_1Page_order_custom(@RequestBody WsdCertiDownloadStatisticsSelectCondition wsdCertiDownloadStatisticsSelectCondition) {
        return wsdCertiDownloadStatisticsService.ConditionFilterwsdCertiDownloadStatisticsSort_1Page_order_custom(wsdCertiDownloadStatisticsSelectCondition);
    }
    /**
     * 证书下载审核统计表格导出数据（默认全部）
     *
     * @return 查询结果
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "表格自定义查询", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.QUERY)
    @PostMapping("ConditionFilterwsdCertiDownloadStatisticsSort_1_order_custom")
    public ApiResponse<WsdCertiDownloadStatisticsPageVO> ConditionFilterwsdCertiDownloadStatisticsSort_1_order_custom(@RequestBody WsdCertiDownloadStatisticsSelectCondition wsdCertiDownloadStatisticsSelectCondition) {
        return wsdCertiDownloadStatisticsService.ConditionFilterwsdCertiDownloadStatisticsSort_1_order_custom(wsdCertiDownloadStatisticsSelectCondition);
    }
    /**
     * 证书下载统计表新增
     */
    @AuditLog(moduleName = "证书下载统计表", eventDesc = "新增或修改", eventGrade = AuditEventGrade.SERVICE_LOG_TYPE, evnetType = AuditEventType.INSERT)
    @PostMapping("insertOrUpdate")
    public ApiResponse<String> insertOrUpdate(@RequestBody WsdCertiDownloadStatistics wsdCertiDownloadStatistics) {
        return wsdCertiDownloadStatisticsService.insertOrUpdate(wsdCertiDownloadStatistics);
    }
}
